package com.imooc.SmartChargeStation.demo.mqtt.PahoMode.conf;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * author: zpy
 * description: MQTT 配置类
 * date: 2025/08/15
 */

@Configuration//配置类，SPring会自动扫描并将其注册为容器中的Bean
@Data//自动生成getter等方法
/**
 怎么通俗的理解这个？
 信息收集员：当系统启动的时候它会自动去application.yaml中查找对应的值，像填表格一样，把
 用户名等都填好，其他需要使用MQTT功能的的代码可以直接从这个类获取这些配置信息。
 */
public class MqttConf {//这些字段对应着MQTT客户端连接EMQX服务器所需要的基本参数
    //@Value用于从配置文件（如application.yml）中读取值并赋给相应的属性
    @Value("${mqtt.options.user_name}")// MQTT服务器用户名
    private String username;
    @Value("${mqtt.options.password}")// MQTT服务器密码
    private String password;
    @Value("${mqtt.host}")// MQTT服务器地址
    private String host;
    @Value("${mqtt.client_id_pahoMode}")// 客户端ID
    private String clientId;
    @Value("${mqtt.topic}")// 订阅主题
    private String topic;
    @Value("${mqtt.options.clean_session}")// 设置为false表示服务器会保留客户端的连接记录，
    private String clean_session;
}



